函数声明

  在C++程序里,完成某件工作的一种典型方式就是调用一个函数去做那件事情。定义函数是你刻画怎样完成某个操作的一种方式。一个函数只有在预先声明之后才能调用。

  在一个函数声明中,需要给出函数的名字,这个函数返回的值的类型(如果有的话),以及在调用这个函数时必须提供的参数的个数和类型。例如,

    Elem* next_elem();
    char* strcpy(char* to, const char* from);
    void exit(int);

参数传递的语义等同于初始化的语义。参数的类型被逐个检查,如果需要就会做隐式的参数类型转换。例如,

    double sqrt(double);
    double sr2 = sqrt(2);        // 以参数double(2)调用sqrt()
    double sq3 = sqrt("three");  // 错误❌:sqrt()要求类型为double的参数

这种检查和类型转换的价值绝不应该低估。

  在函数声明中可以包含参数的名字。这样做可能对读程序的人有所帮助,但编译器将简单地忽略掉这样的名字。正如在4.7节所提到的,以void作为返回值类型表示这个函数不返回值。

🔚